[INFO] fetching crate thomas 0.2.4...
[INFO] testing thomas-0.2.4 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate thomas 0.2.4 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate thomas 0.2.4
[INFO] finished tweaking crates.io crate thomas 0.2.4
[INFO] tweaked toml for crates.io crate thomas 0.2.4 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate thomas 0.2.4 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 56 packages to latest compatible versions
[INFO] [stderr]       Adding crossterm v0.26.1 (available: v0.29.0)
[INFO] [stderr]       Adding device_query v1.1.3 (available: v4.0.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thomas_derive v0.2.0
[INFO] [stderr]   Downloaded device_query v1.1.3
[INFO] [stderr]   Downloaded windows-targets v0.42.2
[INFO] [stderr]   Downloaded pkg-config v0.3.32
[INFO] [stderr]   Downloaded windows-link v0.2.1
[INFO] [stderr]   Downloaded crossterm_winapi v0.9.1
[INFO] [stderr]   Downloaded scopeguard v1.2.0
[INFO] [stderr]   Downloaded errno v0.3.14
[INFO] [stderr]   Downloaded readkey v0.1.7
[INFO] [stderr]   Downloaded readmouse v0.2.1
[INFO] [stderr]   Downloaded signal-hook-mio v0.2.5
[INFO] [stderr]   Downloaded cfg-if v1.0.4
[INFO] [stderr]   Downloaded windows-targets v0.48.5
[INFO] [stderr]   Downloaded macos-accessibility-client v0.0.1
[INFO] [stderr]   Downloaded lazy_static v1.5.0
[INFO] [stderr]   Downloaded bitflags v1.3.2
[INFO] [stderr]   Downloaded bitflags v2.11.0
[INFO] [stderr]   Downloaded smallvec v1.15.1
[INFO] [stderr]   Downloaded parking_lot v0.12.5
[INFO] [stderr]   Downloaded x11 v2.21.0
[INFO] [stderr]   Downloaded mio v0.8.11
[INFO] [stderr]   Downloaded signal-hook v0.3.18
[INFO] [stderr]   Downloaded crossterm v0.26.1
[INFO] [stderr]   Downloaded parking_lot_core v0.9.12
[INFO] [stderr]   Downloaded syn v1.0.109
[INFO] [stderr]   Downloaded log v0.4.29
[INFO] [stderr]   Downloaded core-foundation-sys v0.8.7
[INFO] [stderr]   Downloaded lock_api v0.4.14
[INFO] [stderr]   Downloaded redox_syscall v0.5.18
[INFO] [stderr]   Downloaded wasi v0.11.1+wasi-snapshot-preview1
[INFO] [stderr]   Downloaded signal-hook-registry v1.4.8
[INFO] [stderr]   Downloaded core-foundation v0.9.4
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.42.2
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.42.2
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.48.5
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.48.5
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.42.2
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.42.2
[INFO] [stderr]   Downloaded windows_i686_gnu v0.42.2
[INFO] [stderr]   Downloaded windows_i686_msvc v0.42.2
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.42.2
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.48.5
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.48.5
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.48.5
[INFO] [stderr]   Downloaded windows_i686_msvc v0.48.5
[INFO] [stderr]   Downloaded windows_i686_gnu v0.48.5
[INFO] [stderr]   Downloaded windows-sys v0.61.2
[INFO] [stderr]   Downloaded windows-sys v0.48.0
[INFO] [stderr]   Downloaded windows v0.46.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 81e45c5410c6738cd78b0e91eb95cfe85cc5b2001e2afb810308e147954e5f83
[INFO] running `Command { std: "docker" "start" "-a" "81e45c5410c6738cd78b0e91eb95cfe85cc5b2001e2afb810308e147954e5f83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "81e45c5410c6738cd78b0e91eb95cfe85cc5b2001e2afb810308e147954e5f83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81e45c5410c6738cd78b0e91eb95cfe85cc5b2001e2afb810308e147954e5f83", kill_on_drop: false }`
[INFO] [stdout] 81e45c5410c6738cd78b0e91eb95cfe85cc5b2001e2afb810308e147954e5f83
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eb1c7e449298c58fac6fbdf9ac45846acd46fe050a69f98a3f5d063fb8a834b7
[INFO] running `Command { std: "docker" "start" "-a" "eb1c7e449298c58fac6fbdf9ac45846acd46fe050a69f98a3f5d063fb8a834b7", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]    Compiling device_query v1.1.3
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling crossterm v0.26.1
[INFO] [stderr]    Compiling thomas_derive v0.2.0
[INFO] [stderr]    Compiling thomas v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/core/data/matrix.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut cell = &mut self.matrix[y as usize][x as usize];
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/entity_manager.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn try_get<T>(&self) -> Option<Ref<T>>
[INFO] [stdout]    |                       ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn try_get<T>(&self) -> Option<Ref<'_, T>>
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/entity_manager.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn try_get_mut<T>(&self) -> Option<RefMut<T>>
[INFO] [stdout]    |                           ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn try_get_mut<T>(&self) -> Option<RefMut<'_, T>>
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/entity_manager.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn get<T>(&self) -> Ref<T>
[INFO] [stdout]    |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn get<T>(&self) -> Ref<'_, T>
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/entity_manager.rs:81:23
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn get_mut<T>(&self) -> RefMut<T>
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn get_mut<T>(&self) -> RefMut<'_, T>
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/query.rs:138:45
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn get_only<T: Component + 'static>(&self) -> Ref<T> {
[INFO] [stdout]     |                                             ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn get_only<T: Component + 'static>(&self) -> Ref<'_, T> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/query.rs:147:49
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_only_mut<T: Component + 'static>(&self) -> RefMut<T> {
[INFO] [stdout]     |                                                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_only_mut<T: Component + 'static>(&self) -> RefMut<'_, T> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/query.rs:152:49
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn try_get_only<T: Component + 'static>(&self) -> Option<Ref<T>> {
[INFO] [stdout]     |                                                 ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn try_get_only<T: Component + 'static>(&self) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/query.rs:161:53
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn try_get_only_mut<T: Component + 'static>(&self) -> Option<RefMut<T>> {
[INFO] [stdout]     |                                                     ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn try_get_only_mut<T: Component + 'static>(&self) -> Option<RefMut<'_, T>> {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.77s
[INFO] running `Command { std: "docker" "inspect" "eb1c7e449298c58fac6fbdf9ac45846acd46fe050a69f98a3f5d063fb8a834b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eb1c7e449298c58fac6fbdf9ac45846acd46fe050a69f98a3f5d063fb8a834b7", kill_on_drop: false }`
[INFO] [stdout] eb1c7e449298c58fac6fbdf9ac45846acd46fe050a69f98a3f5d063fb8a834b7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d8e3376708b07e44d5e7c71b675174e2fb1c39e089fc00887df3911f6b0d40d4
[INFO] running `Command { std: "docker" "start" "-a" "d8e3376708b07e44d5e7c71b675174e2fb1c39e089fc00887df3911f6b0d40d4", kill_on_drop: false }`
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/core/data/matrix.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut cell = &mut self.matrix[y as usize][x as usize];
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/entity_manager.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn try_get<T>(&self) -> Option<Ref<T>>
[INFO] [stdout]    |                       ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn try_get<T>(&self) -> Option<Ref<'_, T>>
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/entity_manager.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn try_get_mut<T>(&self) -> Option<RefMut<T>>
[INFO] [stdout]    |                           ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn try_get_mut<T>(&self) -> Option<RefMut<'_, T>>
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/entity_manager.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn get<T>(&self) -> Ref<T>
[INFO] [stdout]    |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn get<T>(&self) -> Ref<'_, T>
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/entity_manager.rs:81:23
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn get_mut<T>(&self) -> RefMut<T>
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn get_mut<T>(&self) -> RefMut<'_, T>
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/query.rs:138:45
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn get_only<T: Component + 'static>(&self) -> Ref<T> {
[INFO] [stdout]     |                                             ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn get_only<T: Component + 'static>(&self) -> Ref<'_, T> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling thomas v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/query.rs:147:49
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_only_mut<T: Component + 'static>(&self) -> RefMut<T> {
[INFO] [stdout]     |                                                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_only_mut<T: Component + 'static>(&self) -> RefMut<'_, T> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/query.rs:152:49
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn try_get_only<T: Component + 'static>(&self) -> Option<Ref<T>> {
[INFO] [stdout]     |                                                 ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn try_get_only<T: Component + 'static>(&self) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/query.rs:161:53
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn try_get_only_mut<T: Component + 'static>(&self) -> Option<RefMut<T>> {
[INFO] [stdout]     |                                                     ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn try_get_only_mut<T: Component + 'static>(&self) -> Option<RefMut<'_, T>> {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/core/data/matrix.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut cell = &mut self.matrix[y as usize][x as usize];
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/entity_manager.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn try_get<T>(&self) -> Option<Ref<T>>
[INFO] [stdout]    |                       ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn try_get<T>(&self) -> Option<Ref<'_, T>>
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/entity_manager.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn try_get_mut<T>(&self) -> Option<RefMut<T>>
[INFO] [stdout]    |                           ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn try_get_mut<T>(&self) -> Option<RefMut<'_, T>>
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/entity_manager.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn get<T>(&self) -> Ref<T>
[INFO] [stdout]    |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn get<T>(&self) -> Ref<'_, T>
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/entity_manager.rs:81:23
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn get_mut<T>(&self) -> RefMut<T>
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn get_mut<T>(&self) -> RefMut<'_, T>
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/query.rs:138:45
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn get_only<T: Component + 'static>(&self) -> Ref<T> {
[INFO] [stdout]     |                                             ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn get_only<T: Component + 'static>(&self) -> Ref<'_, T> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/query.rs:147:49
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_only_mut<T: Component + 'static>(&self) -> RefMut<T> {
[INFO] [stdout]     |                                                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_only_mut<T: Component + 'static>(&self) -> RefMut<'_, T> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/query.rs:152:49
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn try_get_only<T: Component + 'static>(&self) -> Option<Ref<T>> {
[INFO] [stdout]     |                                                 ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn try_get_only<T: Component + 'static>(&self) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/query.rs:161:53
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn try_get_only_mut<T: Component + 'static>(&self) -> Option<RefMut<T>> {
[INFO] [stdout]     |                                                     ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn try_get_only_mut<T: Component + 'static>(&self) -> Option<RefMut<'_, T>> {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.01s
[INFO] running `Command { std: "docker" "inspect" "d8e3376708b07e44d5e7c71b675174e2fb1c39e089fc00887df3911f6b0d40d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d8e3376708b07e44d5e7c71b675174e2fb1c39e089fc00887df3911f6b0d40d4", kill_on_drop: false }`
[INFO] [stdout] d8e3376708b07e44d5e7c71b675174e2fb1c39e089fc00887df3911f6b0d40d4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 176e3cb9a41b925946932240aee46c5f76e948d1089573ddd38c194192c2dbde
[INFO] running `Command { std: "docker" "start" "-a" "176e3cb9a41b925946932240aee46c5f76e948d1089573ddd38c194192c2dbde", kill_on_drop: false }`
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/core/data/matrix.rs:48:17
[INFO] [stderr]    |
[INFO] [stderr] 48 |             let mut cell = &mut self.matrix[y as usize][x as usize];
[INFO] [stderr]    |                 ----^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/core/entity_manager.rs:32:23
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub fn try_get<T>(&self) -> Option<Ref<T>>
[INFO] [stderr]    |                       ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub fn try_get<T>(&self) -> Option<Ref<'_, T>>
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/core/entity_manager.rs:48:27
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn try_get_mut<T>(&self) -> Option<RefMut<T>>
[INFO] [stderr]    |                           ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn try_get_mut<T>(&self) -> Option<RefMut<'_, T>>
[INFO] [stderr]    |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/core/entity_manager.rs:67:19
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub fn get<T>(&self) -> Ref<T>
[INFO] [stderr]    |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub fn get<T>(&self) -> Ref<'_, T>
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/core/entity_manager.rs:81:23
[INFO] [stderr]    |
[INFO] [stderr] 81 |     pub fn get_mut<T>(&self) -> RefMut<T>
[INFO] [stderr]    |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 81 |     pub fn get_mut<T>(&self) -> RefMut<'_, T>
[INFO] [stderr]    |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/core/query.rs:138:45
[INFO] [stderr]     |
[INFO] [stderr] 138 |     pub fn get_only<T: Component + 'static>(&self) -> Ref<T> {
[INFO] [stderr]     |                                             ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 138 |     pub fn get_only<T: Component + 'static>(&self) -> Ref<'_, T> {
[INFO] [stderr]     |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/core/query.rs:147:49
[INFO] [stderr]     |
[INFO] [stderr] 147 |     pub fn get_only_mut<T: Component + 'static>(&self) -> RefMut<T> {
[INFO] [stderr]     |                                                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                                 |
[INFO] [stderr]     |                                                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 147 |     pub fn get_only_mut<T: Component + 'static>(&self) -> RefMut<'_, T> {
[INFO] [stderr]     |                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/core/query.rs:152:49
[INFO] [stderr]     |
[INFO] [stderr] 152 |     pub fn try_get_only<T: Component + 'static>(&self) -> Option<Ref<T>> {
[INFO] [stderr]     |                                                 ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                                 |
[INFO] [stderr]     |                                                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 152 |     pub fn try_get_only<T: Component + 'static>(&self) -> Option<Ref<'_, T>> {
[INFO] [stderr]     |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/core/query.rs:161:53
[INFO] [stderr]     |
[INFO] [stderr] 161 |     pub fn try_get_only_mut<T: Component + 'static>(&self) -> Option<RefMut<T>> {
[INFO] [stderr]     |                                                     ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 161 |     pub fn try_get_only_mut<T: Component + 'static>(&self) -> Option<RefMut<'_, T>> {
[INFO] [stderr]     |                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: `thomas` (lib) generated 9 warnings (run `cargo fix --lib -p thomas` to apply 9 suggestions)
[INFO] [stderr] warning: `thomas` (lib test) generated 9 warnings (9 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/thomas-6dc4cbf464210af0)
[INFO] [stdout] 
[INFO] [stdout] running 157 tests
[INFO] [stdout] test components::physics::terminal::comp_terminal_collision::tests::test_is_collision_between::is_false_when_checking_for_collision_on_same_layer_and_only_one_body_has_the_correct_layer ... ok
[INFO] [stdout] test components::physics::terminal::comp_terminal_collision::tests::test_is_collision_between::is_false_when_both_layers_are_absent ... ok
[INFO] [stdout] test components::physics::terminal::comp_terminal_collision::tests::test_is_collision_between::is_false_when_only_one_layer_is_present ... ok
[INFO] [stdout] test components::physics::terminal::comp_terminal_collision::tests::test_is_collision_between::is_true_when_both_layers_are_present ... ok
[INFO] [stdout] test components::physics::terminal::comp_terminal_collision::tests::test_is_collision_between::is_true_when_checking_for_collision_on_same_layer_and_both_bodies_have_the_correct_layer ... ok
[INFO] [stdout] test components::services::comp_input::tests::key_state::equality_works ... ok
[INFO] [stdout] test components::services::comp_input::tests::key_state::inequality_works ... ok
[INFO] [stdout] test core::data::coords::tests::add::no_change ... ok
[INFO] [stdout] test core::data::coords::tests::add::works_with_mixed_values ... ok
[INFO] [stdout] test core::data::coords::tests::add::works_with_negative_values ... ok
[INFO] [stdout] test core::data::coords::tests::add::works_with_positive_values ... ok
[INFO] [stdout] test core::data::coords::tests::subtract::no_change ... ok
[INFO] [stdout] test core::data::coords::tests::subtract::works_with_mixed_values ... ok
[INFO] [stdout] test core::data::coords::tests::subtract::works_with_negative_values ... ok
[INFO] [stdout] test core::data::coords::tests::subtract::works_with_positive_values ... ok
[INFO] [stdout] test core::data::coords::tests::values::in_correct_order ... ok
[INFO] [stdout] test core::data::layer::tests::above::it_produces_a_value_above_the_provided_layer ... ok
[INFO] [stdout] test core::data::layer::tests::below::it_produces_a_value_below_the_provided_layer ... ok
[INFO] [stdout] test core::data::layer::tests::is_above::returns_false_when_source_is_not_above_other ... ok
[INFO] [stdout] test core::data::layer::tests::is_with::returns_false_when_source_is_below_other ... ok
[INFO] [stdout] test core::data::layer::tests::is_with::returns_false_when_source_is_above_other ... ok
[INFO] [stdout] test core::data::layer::tests::is_above::returns_true_when_source_is_above_other ... ok
[INFO] [stdout] test core::data::layer::tests::is_with::returns_true_when_source_with_other ... ok
[INFO] [stdout] test core::data::layer::tests::is_below::returns_false_when_source_is_not_below_other ... ok
[INFO] [stdout] test core::data::matrix::tests::test_eq::two_different_matrices_are_not_equal ... ok
[INFO] [stdout] test core::data::matrix::tests::test_eq::two_matrices_of_different_sizes_are_not_equal ... ok
[INFO] [stdout] test core::data::matrix::tests::test_eq::two_equivalent_matrices_are_equal ... ok
[INFO] [stdout] test core::data::layer::tests::is_below::returns_true_when_source_is_below_other ... ok
[INFO] [stdout] test core::entity_manager::tests::test_add_component_to_entity::nothing_happens_when_adding_to_a_nonexistent_entity ... ok
[INFO] [stdout] test core::entity_manager::tests::test_add_entity::returns_entity_and_adds_to_maps ... ok
[INFO] [stdout] test core::data::matrix::tests::test_update_cell_at::it_does_nothing_when_given_a_bad_coord ... ok
[INFO] [stdout] test core::data::matrix::tests::test_iter::it_iterates_from_top_left_to_bottom_right ... ok
[INFO] [stdout] test core::data::layer::tests::with::it_produces_a_value_with_the_provided_layer ... ok
[INFO] [stdout] test core::entity_manager::tests::test_add_entity::can_add_multiple_components_with_the_entity ... ok
[INFO] [stdout] test core::data::matrix::tests::test_update_cell_at::it_updates_the_cell_with_provided_info ... ok
[INFO] [stdout] test core::entity_manager::tests::test_add_component_to_entity::component_is_correctly_added_on_an_existing_entity ... ok
[INFO] [stdout] test core::entity_manager::tests::test_entity_components_pass_all_predicates::is_false_when_all_predicates_fail ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::works_when_searching_for_one_component_on_entity_with_that_component ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_component::is_empty_when_no_entities_have_the_provided_component ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_component::is_empty_when_there_are_no_entities ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_component::works_when_multiple_entities_match ... ok
[INFO] [stdout] test core::entity::tests::test_new::new_entities_have_different_ids ... ok
[INFO] [stdout] test core::entity_manager::tests::test_add_component_to_entity::nothing_happens_when_adding_a_component_to_an_entity_that_it_already_has ... ok
[INFO] [stdout] test core::entity_manager::tests::test_add_entity::ids_are_reused_when_available ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_components::is_empty_when_no_entities_have_provided_components ... ok
[INFO] [stdout] test core::entity_manager::tests::test_add_entity::can_add_a_component_with_the_entity ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::is_empty_for_non_existent_entity ... ok
[INFO] [stdout] test core::entity_manager::tests::test_entity_components_pass_all_predicates::is_false_when_any_predicate_fails ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_components::returns_entity_list_for_component_when_searching_for_one_component ... ok
[INFO] [stdout] test core::entity_manager::tests::test_entity_components_pass_all_predicates::is_true_when_all_predicates_pass ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::is_empty_for_entity_with_no_components ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_components::works_when_multiple_entities_have_all_provided_components ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_components::is_empty_when_there_are_no_entities ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::is_empty_when_no_search_components_are_provided ... ok
[INFO] [stdout] test core::entity_manager::tests::test_entity_components_pass_all_predicates::is_true_when_there_are_no_predicates ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::works_when_searching_for_multiple_components_on_entity_with_one_component ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::works_when_searching_for_one_component_on_entity_with_multiple_components ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::works_when_searching_for_multiple_components_on_entity_with_multiple_components ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_component::works_when_one_entity_matches ... ok
[INFO] [stdout] test core::entity_manager::tests::test_intersection::is_empty_when_there_are_no_intersections ... ok
[INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_components::works_when_one_entity_has_all_provided_components ... ok
[INFO] [stdout] test core::entity_manager::tests::test_intersection::reports_intersections_for_more_than_two_vectors ... ok
[INFO] [stdout] test core::entity_manager::tests::test_intersection::is_empty_when_there_are_no_vectors ... ok
[INFO] [stdout] test core::entity_manager::tests::test_intersection::reports_intersections_for_two_vectors ... ok
[INFO] [stdout] test core::entity_manager::tests::test_query::with_forbidden_components::can_read_queried_components ... ok
[INFO] [stdout] test core::entity_manager::tests::test_query::with_forbidden_components::can_mutate_queried_components ... ok
[INFO] [stdout] test core::entity_manager::tests::test_intersection::is_empty_when_there_is_only_one_vector ... ok
[INFO] [stdout] test core::entity_manager::tests::test_query::with_forbidden_components::complex_query_for_more_than_one_component_match_works ... ok
[INFO] [stdout] test core::entity_manager::tests::test_query::with_forbidden_components::query_has_no_results_when_the_forbidden_components_remove_all_potential_matches ... ok
[INFO] [stdout] test core::entity_manager::tests::test_query::with_forbidden_components::query_returns_only_relevant_matches ... ok
[INFO] [stdout] test components::services::comp_time::tests::delta_time::has_difference_after_elapsed_time ... ok
[INFO] [stdout] test core::entity_manager::tests::test_query::without_forbidden_components::can_mutate_queried_components ... ok
[INFO] [stdout] test core::entity_manager::tests::test_query::without_forbidden_components::can_read_queried_components ... ok
[INFO] [stdout] test core::entity_manager::tests::test_query::with_forbidden_components::where_clauses_exclude_any_potential_matches_that_fail_the_predicate ... ok
[INFO] [stdout] test core::entity_manager::tests::test_query::without_forbidden_components::complex_query_for_more_than_one_component_match_works ... ok
[INFO] [stdout] test core::entity_manager::tests::test_query::without_forbidden_components::query_returns_only_relevant_matches ... ok
[INFO] [stdout] test core::entity_manager::tests::test_query::without_forbidden_components::where_clauses_exclude_any_potential_matches_that_fail_the_predicate ... ok
[INFO] [stdout] test core::entity_manager::tests::test_remove_component_from_entity::removing_a_component_on_a_nonexistent_entity_has_no_effect ... ok
[INFO] [stdout] test core::entity_manager::tests::test_remove_component_from_entity::removing_a_component_that_does_not_exist_on_the_entity_has_no_effect ... ok
[INFO] [stdout] test core::entity_manager::tests::test_remove_component_from_entity::removing_from_an_existent_entity_succeeds ... ok
[INFO] [stdout] test core::entity_manager::tests::test_remove_entity::can_remove_an_existing_entity ... ok
[INFO] [stdout] test core::entity_manager::tests::test_remove_entity::can_remove_an_entity_that_has_no_components ... ok
[INFO] [stdout] test core::entity_manager::tests::test_remove_entity::removing_a_nonexistent_entity_does_nothing ... ok
[INFO] [stdout] test core::entity_manager::tests::test_remove_entity::removing_an_entity_makes_its_id_available ... ok
[INFO] [stdout] test core::entity_manager::tests::test_stored_component_list::can_borrow_multiple_different_components_mutably_at_the_same_time ... ok
[INFO] [stdout] test core::game::tests::test_add_system::can_add_to_custom_event ... ok
[INFO] [stdout] test core::game::tests::test_add_systems_from_generator::adds_all_systems_specified_in_generated_map ... ok
[INFO] [stdout] test core::game::tests::test_process_command_queue::queue_is_empty_after_processing ... ok
[INFO] [stdout] test core::game::tests::test_process_command_queue::quit ... ok
[INFO] [stdout] test core::game::tests::test_sort_systems_by_priority::should_sort_by_priority_with_lower_numbers_at_the_front ... ok
[INFO] [stdout] test core::game::tests::test_trigger_event::systems_have_access_to_commands ... ok
[INFO] [stdout] test core::game::tests::test_trigger_event::triggering_event_calls_all_systems ... ok
[INFO] [stdout] test core::query::tests::test_get::gives_back_component_when_it_is_present_in_the_results ... ok
[INFO] [stdout] test core::query::tests::test_get_mut::can_mutate_returned_component ... ok
[INFO] [stdout] test core::game::tests::test_add_system::can_add_to_builtin_events ... ok
[INFO] [stdout] test core::query::tests::test_try_get::gives_back_component_when_it_is_present_in_the_results ... ok
[INFO] [stdout] test core::query::tests::test_try_get::is_none_when_component_is_not_present_in_the_results ... ok
[INFO] [stdout] test core::query::tests::test_try_get_mut::is_none_when_component_is_not_present_in_the_results ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_convert_world_position_to_screen_position::screen_positions_are_correct_with_camera_negative_x_offset ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_convert_world_position_to_screen_position::screen_positions_are_correct_with_camera_negative_y_offset ... ok
[INFO] [stdout] test core::query::tests::test_try_get_mut::can_mutate_returned_component ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_convert_world_position_to_screen_position::screen_positions_are_correct_with_camera_positive_x_offset ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_convert_world_position_to_screen_position::screen_positions_are_equivalent_with_no_camera_offset ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_cell_data_to_display::the_first_some_background_color_used_when_topmost_background_color_is_none ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_cell_data_to_display::the_topmost_cell_data_is_used ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_convert_world_position_to_screen_position::screen_positions_are_correct_with_camera_positive_y_offset ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_cell_data_to_display::the_topmost_background_color_is_used_when_not_none ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_crossterm_color::color_code_is_correct_when_color_is_provided ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_crossterm_color::color_code_is_correct_when_default_color_is_provided ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_crossterm_color::color_code_is_correct_when_only_default_color_is_provided ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_crossterm_color::color_code_is_reset_when_no_colors_are_provided ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_in_view_are_present ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_just_out_of_view_on_right_edge_are_absent ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_just_out_of_view_on_left_are_absent ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_on_screen_bottom_edge_are_present ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_on_screen_left_edge_are_present ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_on_screen_top_edge_are_present ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_on_screen_right_edge_are_present ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::higher_layer_renderable_appears_over_others_when_renderables_overlap ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_just_out_of_view_on_bottom_edge_are_absent ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_in_view_are_present ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_just_out_of_view_on_bottom_edge_are_absent ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_just_out_of_view_on_left_are_absent ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_terminal_renderer_matrix_cell_equality::cells_with_different_background_color_are_not_equal ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_just_out_of_view_on_top_edge_are_absent ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_terminal_renderer_matrix_cell_equality::cells_with_different_display_are_not_equal ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_just_out_of_view_on_right_edge_are_absent ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_just_out_of_view_on_top_edge_are_absent ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_on_screen_bottom_edge_are_present ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_on_screen_right_edge_are_present ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_terminal_renderer_matrix_cell_equality::cells_with_different_foreground_color_are_not_equal ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_terminal_renderer_matrix_cell_equality::cells_with_different_layer_are_not_equal ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_terminal_renderer_matrix_cell_equality::equivalent_cells_are_equal ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_on_screen_top_edge_are_present ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_bottom_right ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_middle_right ... ok
[INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_on_screen_left_edge_are_present ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_top_right ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_top_left ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_bottom_left ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_bottom_right ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_middle_top ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_bottom_left ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_middle_bottom ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_middle_left ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_middle_bottom ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_middle_left ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_middle_top ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_top_left ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_top_right ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_middle_right ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::world_text::text_goes_to_the_correct_position_with_offset_camera ... ok
[INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::world_text::text_goes_to_the_correct_position_with_origin_camera ... ok
[INFO] [stdout] test core::entity_manager::tests::test_stored_component_list::panics_when_trying_to_borrow_a_component_that_is_not_present - should panic ... ok
[INFO] [stdout] test core::entity_manager::tests::test_stored_component_list::panics_when_trying_to_borrow_the_same_component_mutably_more_than_once - should panic ... ok
[INFO] [stdout] test core::query::tests::test_get::panics_when_component_is_not_present_in_the_results - should panic ... ok
[INFO] [stdout] test core::query::tests::test_get_mut::panics_when_component_is_not_present_in_the_results - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 157 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests thomas
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test src/core/component.rs - core::component::Component (line 6) ... ok
[INFO] [stdout] test src/core/query.rs - core::query::Query (line 14) ... ok
[INFO] [stdout] test src/core/game.rs - core::game::Game (line 45) ... ok
[INFO] [stdout] test src/core/system.rs - core::system::System::new (line 33) ... ok
[INFO] [stdout] test src/core/system.rs - core::system::System::new (line 46) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "176e3cb9a41b925946932240aee46c5f76e948d1089573ddd38c194192c2dbde", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "176e3cb9a41b925946932240aee46c5f76e948d1089573ddd38c194192c2dbde", kill_on_drop: false }`
[INFO] [stdout] 176e3cb9a41b925946932240aee46c5f76e948d1089573ddd38c194192c2dbde
